// TODO 25/6/04
// 数据类型的转换
// 在必要以及可行的情况下，一个类型的值可以被转换成另一种类型的值。
// 由于Go语言不存在隐式类型转换，因此所有的类型转换都必须显式的声明： A = A(B)
package main

import "fmt"

func main() {
	// 数据类型转换在Go中就一个格式
	// 新类型的值 = 新类型（旧类型的值）

	// 高位向低位转 （int64  int32  int16）

	// 浮点数转整数，截断，只保留整数部分（就是截断）
	a := 5.99   // float
	b := int(a) // b 就是int类型的a = 5

	fmt.Printf("%T,%.1f\n", a, a)
	//保留几位小数，是可以四舍五入的
	fmt.Printf("%T,%d\n", b, b)

	c := 1
	d := float64(c)
	fmt.Printf("%T,%d\n", c, c)
	fmt.Printf("%T,%f\n", d, d)

	// 布尔类型转换，布尔类型 是不支持类型转换的。
	//var flag bool = true
	//f := int(flag)

}

/*
变量的定义： var  变量名  **数据类型**
数据类型 是没有上限的，以上的都是基本数据类型，常用的，系统自带的，必要的。任何一个编程语言都会有。
除了这些之外，会存在一些自己开发的数据类型（数据结构都是可以自己定义的）
*/
